#pragma once

ref struct ModuleData{
	System::String^ moduleName;
	array<System::String^>^ submodulesFilepaths;
	array<System::String^>^ submodulesX;
	array<System::String^>^ submodulesY;
	array<System::String^>^ submodulesZ;
	array<System::String^>^ submodulesAxis;
	array<System::String^>^ submodulesR;
};

ref class LogFile {
	System::String^ filepath;
public:
	LogFile(System::String^ logFielpath);
	//LogFile(){}
	void InsertError(System::String^ sTextMessage);
	void GenerateMessageBox();
};

ref class RobotCollisionXmlDoc : public System::Xml::XmlDocument {
public:
	array<ModuleData^>^ mdModulesData;
	System::String^ TX;
	System::String^ TY;
	System::String^ TZ;
	System::String^ robotName;
	LogFile^ logger;
	RobotCollisionXmlDoc(): System::Xml::XmlDocument(){ logger = gcnew LogFile("xmlErrorLog.txt"); }
	void CreateXmlDocument(System::String^ filename);
	bool ReadXmlDocument(System::String^ filename);
};

